############################### DISCLAIMER #################################
### Das verwenden dieses Templates basiert auf eigener Verantwortung.    ###
### Die ALSO Schweiz AG lehnt jede Haftung ab beim verwenden dieses      ###
### Templates                                                            ###
############################################################################  
# Dieses Template kann verwendet werden um eine Site2Site Konfiguration    #
# auf einer FortiGate einzulesen                                           #
# 1.) Konfiguration IPSEC Tunnel mit Phase1 und Phase2                     #
# 2.) Konfiguration statische Route ink Blackhole Route                    #
# 3.) Konfiguration Firewall Regeln bidirectional                          #                                                
############################################################################
# Version 1.0.0                                                            #
# Erstellt von 4Tinu                                                       #
############################################################################
#
# Folgende Variabeln mit der Funktion "suchen + ersetzen" den richtigen Werten zuweisen:
# 
# Es muss der gesamten Ausdruck einschlielich der eckigen Klammern ersetzt werden.
# +--------------------------+--------------------+---------------------------------------------------------------------------------+
# | Variabeln                |  Example value     |   Description                                                                   |
# +--------------------------+--------------------+---------------------------------------------------------------------------------+
# | [VPN_NAME]               |   to_lab-2         |    VPN Name (mit diesem Namen wird automatisch ein VPN Interface erstellt)      |         
# | [OUTGOING_INTERFACE]     |   port1            |    Interface auf welchem der VPN Tunnel terminiert (meistens ein WAN Interface) |
# | [IP-ADDRESS-VPN-GATEWAY] |   146.4.73.78      |    Public IP Adresse des Remote VPN Gateway                                     | 
# | [PRESHARED-KEY]          |   mnoieOIj66&%eunn |    Preshard Key definieren                                                      |
# | [REMOTE_NET_IP]          |   198.18.200.0     |    IP Netzwerk der Remote Seite, welches erreicht werden soll                   |
# | [REMOTE_SUBNET_MASK]     |   255.255.255.0    |    Netzmaske des Remote Netzwerkes                                              |
# | [LOCAL_NET_IP]           |   10.10.80.0       |    Lokales Netzwerk                                                             |
# | [LOCAL_SUBNET_MASK]      |   255.255.255.0    |    Netzmaske des Lokalen Netzwerkes                                             |
# | [LOCAL_INTERFACE]        |   port3            |    Interface der FortiGate hinter welchem das Lokale Netzwerk ist. (LAN)        |  
# +--------------------------+--------------------+---------------------------------------------------------------------------------+
# Achtung Interface Namen, Portnummern und Adressobjekte sind Case sensitiv
# Wenn alle Variablen mit search replace angepasst wurden, kann ab hier das Template auf die FortiGate eingelesen werden:

# Konfiguration VPN Phase 1
config vpn ipsec phase1-interface
edit "[VPN_NAME]"
set interface "[OUTGOING_INTERFACE]"
set ike-version 2
set peertype any
set net-device disable
set proposal aes256-sha256
set comments "VPN Tunnel [VPN_NAME]"
set dhgrp 15
set nattraversal disable
set remote-gw [IP-ADDRESS-VPN-GATEWAY]
set psksecret "[PRESHARED-KEY]"
next
end

# Konfiguration VPN Phase 2
config vpn ipsec phase2-interface
edit "[VPN_NAME]-[REMOTE_NET_IP]"
set phase1name "[VPN_NAME]"
set proposal aes256-sha256
set dhgrp 15
set src-subnet [LOCAL_NET_IP] [LOCAL_SUBNET_MASK] 
set dst-subnet [REMOTE_NET_IP] [REMOTE_SUBNET_MASK]
next
end

# Konfiguration statische Routen
config router static
edit 0
set dst [REMOTE_NET_IP] [REMOTE_SUBNET_MASK]
set device [VPN_NAME]
set comment "Remote Network for [VPN_NAME]"
next
edit 0
set dst [REMOTE_NET_IP] [REMOTE_SUBNET_MASK]
set distance 254
set comment "Blackhole [VPN_NAME]"
set blackhole enable
next
end

# Konfiguration Adressobjekte Lokal und Remote Netz
config firewall address
edit "net_lan-[LOCAL_NET_IP]"
set color 3
set subnet [LOCAL_NET_IP] [LOCAL_SUBNET_MASK] 
next
edit "net_remote-[REMOTE_NET_IP]"
set color 10
set subnet [REMOTE_NET_IP] [REMOTE_SUBNET_MASK]
next
end

# Konfiguration Firewallregeln in beide Richtungen - Service ALL
config firewall policy
edit 0
set name "Outgoing_localLAN_to_VPN-[VPN_NAME]"
set srcintf "[LOCAL_INTERFACE]"
set dstintf "[VPN_NAME]"
set srcaddr "net_lan-[LOCAL_NET_IP]"
set dstaddr "net_remote-[REMOTE_NET_IP]"
set action accept
set schedule "always"
set service "ALL"
set logtraffic all
set comments ""
next
edit 0
set name "Incoming_VPN-[VPN_NAME]_to_localLAN"
set srcintf "[VPN_NAME]"
set dstintf "[LOCAL_INTERFACE]"
set srcaddr "net_remote-[REMOTE_NET_IP]"
set dstaddr "net_lan-[LOCAL_NET_IP]"
set action accept
set schedule "always"
set service "ALL"
set logtraffic all
next
end
